package com.heatup.apt.common.dao;

import com.heatup.apt.model.api.StoreCampCourseResultModel;
import com.heatup.apt.model.api.StoreTeamCourseResultModel;
import com.heatup.apt.model.api.course.CourseSecretInfoModel;
import com.heatup.apt.model.api.store.StoreResultModel;
import org.springframework.stereotype.Component;

import java.util.List;
import java.util.Map;

@Component
public interface CourseListMapper {

	
	/**
	 * 团体课程
	 * TeamCourseMapper.getTeamCourseList()<BR>
	 * <P>Author :  fangxiaowen </P>  
	 * <P>Date : 2016年8月23日 </P>
	 * @param params
	 * @return
	 */
//	 List<TeamCourseResultModel> getTeamCourseList(Map<Object, Object> params);
	
	/**
	 * 课程价格
	 * TeamCourseMapper.getServicePriceByCourseId()<BR>
	 * <P>Author :  fangxiaowen </P>  
	 * <P>Date : 2016年8月23日 </P>
	 * @param courseId 课程ID
	 * @return
	 */
//	 List<ServicePriceResultModel> getServicePriceByCourseId(Long courseId);
	
	/**
	 * get私教课程list
	 * CourseListMapper.getPTCourseList()<BR>
	 * <P>Author :  fangxiaowen </P>  
	 * <P>Date : 2016年8月23日 </P>
	 * @param params
	 * @return
	 */
	 List<CourseSecretInfoModel> getPTCourseList(Map<String, Object> params);
	
	//获取上架的私教课程总数
	int getPTCourseListCount(Map<String, Object> params);
	
	/**
	 * 檬营分页
	 * CourseListMapper.getCampCourseList()<BR>
	 * <P>Author :  fangxiaowen </P>  
	 * <P>Date : 2016年8月31日 </P>
	 * @param params
	 * @return
	 */
	 List<StoreCampCourseResultModel> getCampCourseList(Map<String, Object> params);

	/**
	 * 檬营分页查询总行
	 * @param params
	 * @return
	 */
	int queryCampCourseCount(Map<String, Object> params);

	/**
	 * 自助健身
	 * CourseListMapper.getSelfFitnessList()<BR>
	 * <P>Author :  fangxiaowen </P>  
	 * <P>Date : 2016年8月30日 </P>
	 * @param params
	 * @return
	 */
	 List<StoreResultModel> getSelfFitnessList(Map<String, Object> params);
	/**
	 * 计算支持自助健身总数
	 * CourseListMapper.getSelfFitnessCount()<BR>
	 * <P>Author :  fangxiaowen </P>  
	 * <P>Date : 2016年8月30日 </P>
	 * @return
	 */
	 int getSelfFitnessCount();
	
	
	/**
	 * 门店-团体课程列表
	 * @param map
	 * @return
	 */
	 List<StoreTeamCourseResultModel> getStoreTeamCourseList(Map<String,Object> map);
	
	/**
	 * 返回团体课程列表数量
	 * @param map
	 * @return
	 */
	 int getStoreTeamCourseListCount(Map<String,Object> map);
	
	/**
	 * 查询未结束的团课数量
	 * @param map
	 * @return
	 */
	 int getUncompletedTeamCourseCount(Map<String,Object> map);


}